/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.tbp.controle;

import br.com.tbp.exception.PersistenciaException;
import br.com.tbp.model.domain.Consultor;
import br.com.tbp.model.domain.Visita;
import br.com.tbp.persitence.FabricaDePersistencia;
import br.com.tbp.persitence.dao.FunilVendaDao;
import java.util.Date;
import java.util.List;

/**
 *
 * @author Diego Freire
 */
public class ControleFunilVenda {

    public void registrarVisita(Visita visita) throws PersistenciaException {
        FunilVendaDao dao = FabricaDePersistencia.createFunilVendaDao();
        dao.registrarVisita(visita);
    }

    public List<Visita> findVisitas(Consultor consultor) throws PersistenciaException {
        FunilVendaDao dao = FabricaDePersistencia.createFunilVendaDao();
        return dao.findVisitas(consultor);
    }

    public List<Visita> findVisitasByPeriod(Date date1, Date date2) throws PersistenciaException {
        FunilVendaDao dao = FabricaDePersistencia.createFunilVendaDao();
        return dao.findVisitasByPeriod(date1, date2);
    }

    public List<Visita> findVisitasByPeriodAndConsultor(Date date1, Date date2, Consultor consultor) throws PersistenciaException {
        FunilVendaDao dao = FabricaDePersistencia.createFunilVendaDao();
        return dao.findVisitasByPeriodAndConsultor(date1, date2, consultor);
    }

    public List<Visita> findVisitasByRazaoSocial(String razaoSocial, Consultor consultor) throws PersistenciaException {
        FunilVendaDao dao = FabricaDePersistencia.createFunilVendaDao();
        return dao.findVisitasByRazaoSocial(razaoSocial, consultor);
    }

    public List<Visita> findAllVisitas(Consultor consultor) throws PersistenciaException {
        FunilVendaDao dao = FabricaDePersistencia.createFunilVendaDao();
        return dao.findAllVisitas(consultor);
    }

    public void atualizarVisita(Visita visita) throws PersistenciaException {
        FunilVendaDao dao = FabricaDePersistencia.createFunilVendaDao();
        dao.atualizarVisita(visita);
    }
}
